// app.js
App({
  onLaunch() {
    // 展示本地存储能力
    const logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 检查用户登录状态
    this.checkLoginStatus()
  },

  // 检查登录状态
  checkLoginStatus() {
    const userInfo = wx.getStorageSync('userInfo')
    if (userInfo && userInfo.token) {
      this.globalData.userInfo = userInfo
      this.globalData.isLogin = true

      // 同时保存token到单独的字段，兼容旧版本
      wx.setStorageSync('token', userInfo.token)
    } else {
      this.globalData.isLogin = false
      this.globalData.userInfo = null

      // 清理可能存在的旧token
      wx.removeStorageSync('token')
    }
  },

  // 登录
  login(userInfo) {
    if (!userInfo || !userInfo.token) {
      console.error('登录失败：用户信息或token为空')
      return
    }

    this.globalData.userInfo = userInfo
    this.globalData.isLogin = true

    // 保存到本地存储
    wx.setStorageSync('userInfo', userInfo)
    // 同时保存token到单独的字段，兼容旧版本
    wx.setStorageSync('token', userInfo.token)

    console.log('登录成功，用户信息已保存')
  },

  // 退出登录
  logout() {
    console.log('执行退出登录')

    this.globalData.userInfo = null
    this.globalData.isLogin = false

    // 清理所有相关的本地存储
    wx.removeStorageSync('userInfo')
    wx.removeStorageSync('token')

    wx.reLaunch({
      url: '/pages/login/login'
    })
  },

  // 刷新登录状态（用于token过期等情况）
  refreshLoginStatus() {
    this.checkLoginStatus()
  },

  globalData: {
    userInfo: null,
    isLogin: false,
    baseUrl: 'http://localhost:9090'
  }
})
